<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/template.xhtml">
	<ui:define name="title">
		SGMF :: Usuário
	</ui:define>
	
	<ui:define name="content">
		<p:panel>
			<h:form id="buscarFuncionarioForm">
				<p:fieldset legend="Buscar Funcionário">
					<p:panelGrid columns="3" styleClass="borderless">
						<p:outputLabel value="Nome do Funcionário" for="nomeFuncionario" />
						<p:inputText id="nomeFuncionario" value="#{usuarioBean.nomeFuncionario}" />
						<p:commandButton id="buscarFuncionario" update=":funcionarioDialogForm" actionListener="#{usuarioBean.buscarFuncionario}" value="Buscar Funcionário" icon="ui-icon-search" onclick="PF('funcionarioDialog').show();" />
					</p:panelGrid>
				</p:fieldset>
			</h:form>
			<br />
			<h:form id="usuarioForm">
				<h:inputHidden id="usuarioId" value="#{usuarioBean.usuario.id}" rendered="#{usuarioBean.usuario.id != null}" />
				<p:fieldset legend="Usuário">
					<p:panelGrid columns="3" styleClass="borderless">
						<p:outputLabel value="Nome do Funcionário" for="funcionario" />
						<h:outputText id="funcionario" value="#{usuarioBean.funcionario.nome}" />
						<h:outputText />
						<p:outputLabel value="Login" for="login" />
						<p:inputText id="login" label="Login" value="#{usuarioBean.usuario.login}" required="true" maxlength="50" size="50" />
						<p:message for="login" />
						<p:outputLabel value="Senha" for="senha" />
						<p:password id="senha" label="Senha" value="#{usuarioBean.usuario.senha}" required="true" maxlength="50" size="50" />
						<p:message for="senha" />
						<p:outputLabel value="Confirmar Senha" for="confirmarSenha" />
						<p:password id="confirmarSenha" label="Confirmar Senha" value="#{usuarioBean.confirmarSenha}" required="true" maxlength="50" size="50" />
						<p:message for="confirmarSenha" />
					</p:panelGrid>
				</p:fieldset>
				<br />
				<p:commandButton id="salvar" value="Salvar"	action="#{usuarioBean.salvar}" update=":growl, :usuarioForm, :datatableForm" icon="ui-icon-disk" />
				<p:commandButton id="novo" value="Novo"	actionListener="#{usuarioBean.novo}" process="@this" update=":usuarioForm" icon="ui-icon-document" />
			</h:form>
			<br />
			<h:form id="datatableForm">
				<p:dataTable id="datatable" var="usuario"
					value="#{usuarioBean.usuarioService.findAll()}" rows="10" paginator="true"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					currentPageReportTemplate="({currentPage} de {totalPages})" rowsPerPageTemplate="5,10,15" emptyMessage="Nenhum registro encontrado.">
					<p:column headerText="Login">
						<h:outputText value="#{usuario.login}" />
					</p:column>
					<p:column headerText="Nome">
						<h:outputText value="#{usuario.funcionario.nome}" />
					</p:column>
					<p:column style="width: 32px;">
						<p:commandButton icon="ui-icon-trash" title="Excluir" actionListener="#{usuarioBean.excluir(usuario)}" update=":growl, :usuarioForm, :datatableForm">
							<p:confirm header="Confirmação" message="Deseja realmente excluir este usuário?" icon="ui-icon-alert" />
						</p:commandButton>
					</p:column>
				</p:dataTable>
			</h:form>
		</p:panel>
		
		<p:dialog id="funcionarioDialog" header="Funcionários" widgetVar="funcionarioDialog" modal="true" resizable="false" width="800px">
			<h:form id="funcionarioDialogForm">
				<p:dataTable id="datatableFuncionario" var="funcionario"
					value="#{usuarioBean.funcionarios}" rows="5" paginator="true"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} "
					currentPageReportTemplate="({currentPage} de {totalPages})"
					emptyMessage="Nenhum registro encontrado."
					rendered="#{usuarioBean.funcionarios != null}">
					<p:column headerText="Matrícula">
						<h:outputText value="#{funcionario.matricula}" />
					</p:column>
					<p:column headerText="CPF">
						<h:outputText value="#{funcionario.cpf}" />
					</p:column>
					<p:column headerText="Nome">
						<h:outputText value="#{funcionario.nome}" />
					</p:column>
					<p:column headerText="Função">
						<h:outputText value="#{funcionario.funcao.nome}" />
					</p:column>
					<p:column headerText="Setor">
						<h:outputText value="#{funcionario.setor.nome}" />
					</p:column>
					<p:column style="width: 32px;">
						<p:commandButton icon="ui-icon-plus" title="Adicionar" actionListener="#{usuarioBean.adicionarFuncionario(funcionario)}" update=":usuarioForm"  ajax="false" />
					</p:column>
				</p:dataTable>
			</h:form>
		</p:dialog>
	</ui:define>
</ui:composition>

</html>